home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 1997 July / Freeware CD.iso / FREEWARE / !utils / sfs / SFS117!.EXE / SFS2.DOC < prev    next >
Encoding:
Text File  |  1995-03-20  |  55.2 KB  |  1,038 lines

  1. Creating an SFS Volume
  2. ----------------------
  3.  
  4. Before SFS can use an disk volume, you will need to convert it from a normal
  5. DOS volume into an encrypted SFS one.  The program does this is mksfs (Make
  6. Secure Filesystem), which is very loosely patterned after the Unix mkfs
  7. utility.  mksfs takes a standard DOS volume (which may be either freshly
  8. formatted or may already contain files) and turns in into an encrypted SFS one.
  9. The encryption process is non-destructive, so you won't lose any information
  10. already on the volume, except for the (fortunately very rare) case of there
  11. being a power cut while the encryption is taking place (this means that power
  12. to the system is removed as the disk is being written to, which would cause
  13. problems under virtually any software).  If the data being encrypted is
  14. extremely valuable or there is a risk of a power cut occurring, you should back
  15. up the volume completely before you encrypt it, but this step should only be
  16. necessary in exceptional circumstances.
  17.  
  18. If you use mksfs on a fixed disk, it will encrypt an entire disk partition
  19. rather than individual files.  This is necessary because an SFS partition may
  20. contain a DOS filesystem, or an OS/2 one, or a HPFS one, or an NTFS one, or any
  21. one of a dozen other possible filesystems.  However you may only have a single
  22. large partition on your hard drive which is used entirely for DOS, so that to
  23. use SFS you would have to make a complete backup of the contents of the
  24. partition, use the FDISK utility to create two smaller partitions, and then
  25. restore the backed-up data onto one of the new partitions.  You can avoid this
  26. problem by using one of several programs which will nondestructively split an
  27. existing partition into two smaller partitions, one of which you can then use
  28. as an SFS volume[1][2].
  29.  
  30. If the hardware or software setup you are using is somewhat unusual (for
  31. example you have drives which are compressed with DoubleSpace, Stacker, or JAM,
  32. or you have unusual drive hardware which needs special software like SpeedStor
  33. to manage it), you should read the section "Troubleshooting" below.  In
  34. addition, mksfs may, during normal operation, trigger a number of virus
  35. detectors which monitor access to certain critical disk and memory areas which
  36. software would not normally access.  Finally, mksfs will check to see whether
  37. you are running it under Quarterdeck's DesqView or Microsoft Windows, as you
  38. should in general not run it while DesqView, Windows, or some other
  39. multitasking software is active.  Since mksfs takes an entire disk volume and
  40. encrypts it sector by sector, any other software which tries to simultaneously
  41. access the volume while mksfs is running will come to grief.  If mksfs detects
  42. that it is being run under either DesqView or Windows, it will display a
  43. warning message with an option to quit and re-run it from DOS only.  Only if
  44. there is no chance that any other program will access the disk volume being
  45. encrypted is it safe for you to run mksfs under multitasking software.
  46.  
  47. The mksfs program is run in the following manner:
  48.  
  49.   mksfs [-c] [-o] [-t] [-e] [serialnumber=<serial number>] [multiuser]
  50.         [access=<mode>] [timeout=<timeout>] [wipe] [volume=<volume name>]
  51.         [<drive letter>]
  52.  
  53. Since all arguments are named, you can give them in any order.  The order shown
  54. here is merely an example.  In addition, you can abbreviate all commands, so
  55. that for example you can give the `volume=' command as `volume=', `vol=', or
  56. even just `v='.  The full commands are given in the documentation for
  57. completeness.
  58.  
  59. The -t and -c options are present to allow integrity checks on the SFS
  60. encryption code and on the operation of mksfs itself, and are covered in more
  61. detail in the sections "Troubleshooting" and "Security Analysis" respectively.
  62.  
  63. The drive specifies the DOS drive which will be converted into an SFS volume.
  64. For example to create an SFS volume from the disk currently in the A: drive the
  65. command would be:
  66.  
  67.   mksfs a:
  68.  
  69. It is recommended that you give each SFS volume a unique name for
  70. identification purposes.  Although you can create unnamed (or anonymous)
  71. volumes, this is not a good idea if you are working with fixed disks which can
  72. contain multiple SFS volumes.  If the volumes are anonymous then you have no
  73. easy way of telling SFS which one you want to work with, apart from using the
  74. mount option with the SFS driver, which is explained in more detail in the
  75. section "Advanced SFS Driver Options" below.  mksfs will check for and warn you
  76. about the creation of anonymous volumes on fixed disks.
  77.  
  78. You can specify name to give the SFS volume with the `volume=' option.  For
  79. example if the name was "Secure disk volume" then the command would be:
  80.  
  81.   mksfs "volume=Secure disk volume" d:
  82.  
  83. Note that the volume name, which in this case contains spaces, has been quoted.
  84. This is necessary because DOS will break the name apart into separate words if
  85. it contains spaces.  If the name is a single word, you don't need to quote it.
  86.  
  87. You can specify the volume serial number with the `serialnumber=' option.  If
  88. you don't provide a serial number, mksfs will generate one itself.  There is no
  89. real need for you to specify a volume serial number, but the option has been
  90. provided in case you need it.  If you do specify a serial number, it should be
  91. a unique value since SFS uses it to distinguish between different volumes.  If
  92. mksfs is left to choose the serial number itself it will automagically use a
  93. unique value.  The serial number is independant of the volume mount identifier,
  94. which is explained in the section "Advanced SFS Driver Options" below.  This
  95. serial number is not the same as the serial number which some operating systems
  96. may write to a disk for their own use, and is used only by SFS to identify
  97. volumes.
  98.  
  99. Some (mostly extinct) variants of DOS treat removable disks in a peculiar
  100. manner, so that mksfs cannot determine the exact disk format.  If this happens,
  101. it will perform a check on secondary format information stored on the disk.  If
  102. the information checks out, it will report, for example:
  103.  
  104.   Warning: The disk information reports an unusual disk format, performing
  105.            check on secondary disk information...
  106.  
  107.            The disk appears to be in 1.2 MB DSHD format
  108.  
  109. If mksfs still can't be sure of the disk format, it will exit with an error
  110. message.  Otherwise it will ask:
  111.  
  112.            Are you sure you want to process the disk in this format [y/n]
  113.  
  114. If the reported disk format is correct then you should enter 'Y' to continue,
  115. or enter 'N' to exit the program.
  116.  
  117. If you require the ability for multiple users to access the volume, you should
  118. set the `multiuser' option, which records extra information which you can later
  119. edit with the adminsfs program to allow other users access to the volume.  You
  120. can find more information on multiuser SFS volumes in the section "Sharing SFS
  121. Volumes Between Multiple Users" below.
  122.  
  123. If you use the `multiuser' option mksfs will warn:
  124.  
  125.   Warning: You have specified that access to the volume for multiple users
  126.            be enabled.  Are you sure you want to do this [y/n]
  127.  
  128. At this point you can enter 'Y' to continue or 'N' to exit the program.
  129.  
  130. The SFS driver can automatically unmount volumes if you have not accessed them
  131. for a certain period of time.  This feature is useful if there is a chance that
  132. an interruption may call you away from a system with mounted SFS volumes which
  133. would allow others access to the encrypted data, or you can simply use it as a
  134. general safety precaution to automatically unmount the volumes after a sizeable
  135. period of inactivity.  However, you should take care to allow a large enough
  136. safety margin for the timeout, as having a volume take itself offline five
  137. seconds before you want to save your work to it can be annoying.
  138.  
  139. The easiest way to set an auto-unmount timeout is to associate a timeout value
  140. with the volume when it is created with mksfs, although you can add this
  141. setting or modify an existing setting at a later point with the chsfs program
  142. (this is explained in more detail in the section "Changing the Characteristics
  143. of an SFS Volume" below).  When the volume is mounted, the setting of the
  144. timeout is automatically taken care of by the SFS software.
  145.  
  146. You can specify the auto-unmount timeout value in minutes with the `timeout='
  147. option.  For example to create the volume used in the previous example with an
  148. auto-unmount timeout of half an hour, the command would be:
  149.  
  150.   mksfs "volume=Secure disk volume" timeout=30 d:
  151.  
  152. The drive on which the volume is being created may be able to handle a
  153. different, faster access mode than the one which is normally used.  SFS
  154. supports a number of these faster access modes, which you can test for using
  155. the `mksfs -c' option which is explained in more detail in the section
  156. "Troubleshooting" below.  If the tests are successful, mksfs will report the
  157. fast access mode which can be used to access the drive.  You can specify this
  158. mode with the `access=' option when you create a new volume, and all accesses
  159. to the volume will then use the alternative, faster method instead of the
  160. default, somewhat slower one.  Alternatively, you can enable the use of the
  161. faster access mode at a later time with the `chsfs newaccess=' command, which
  162. is explained in more detail in the section "Changing the Characteristics of an
  163. SFS Volume" below.
  164.  
  165. For example if testing the drive with `mksfs -c' reported that an access mode
  166. of `ide' was possible, then the previous volume creation example could be
  167. changed to:
  168.  
  169.     mksfs "volume=Secure disk volume" access=ide
  170.  
  171. When mounted, all accesses to this volume will be made with the specified
  172. access mode.
  173.  
  174. If the volume you are encrypting already contains files, the encryption process
  175. will replace the original files with their encrypted equivalents.  However this
  176. may not be enough to safely wipe all traces of the original data.  In order to
  177. provide a more thorough means of overwriting it, you can use the `wipe' option
  178. to force mksfs to perform multiple overwrite passes on the original data.  The
  179. encrypted data will not be destroyed by performing these wipes, they simply
  180. ensure that the original unencrypted data is removed with a high degree of
  181. certainty.
  182.  
  183. In total, mksfs will use 35 separate overwrite passes which have been selected
  184. to provide the best possible chances of destroying data for various disk
  185. encoding schemes.  The exact details of the overwrite process, and information
  186. on data deletion in general, are given in the section "Deletion of SFS Volumes"
  187. below.  This process, while very thorough, is *extremely slow*.  If you are
  188. running mksfs on large volumes with the `wipe' option enabled, the encryption
  189. with overwrite may take hours to run to completion.  Some hard drives can run
  190. quite hot with continuous access, so you may want to ensure that adequate
  191. ventilation is available before you start an encrypt with overwrite process.
  192. It is recommended that you only use the wipe option if the data you are
  193. encrypting is of a highly sensitive nature.
  194.  
  195. You don't need to use the wipe option on an unused, freshly-formatted disk
  196. which has never contained any data.
  197.  
  198. mksfs will now scan all drives in the system to check whether the name and
  199. serial number for the new volume conflict with the names or serial numbers of
  200. any existing SFS volumes.  This disk scan may take a few seconds to run to
  201. completion.  If both the volume name and serial number conflict, this will make
  202. future manipulation of the volume difficult as there is no real way to uniquely
  203. identify it, and mksfs will exit with the error message:
  204.  
  205.   Error: An SFS volume with the given name and serial number already exists.
  206.          You should either choose a new name or serial number, or not specify a
  207.          serial number at all, in which case mksfs will choose a unique serial
  208.          number for the new volume.
  209.  
  210. If the volume with the conflicting name or serial number is on removable media,
  211. you can temporarily remove the disk from the drive until mksfs has been run,
  212. but this still leaves the problem of accessing the volume in the future.  A
  213. preferable solution is to either choose a unique volume name or to let mksfs
  214. choose the volume serial number - it will always choose a number which doesn't
  215. conflict with an existing volumes serial number.
  216.  
  217. If only the volume name clashes, mksfs will warn:
  218.  
  219.   Warning: An SFS volume with the given name already exists.  Are you sure
  220.            you want to create a new volume with the same name [y/n]
  221.  
  222. At this point you can enter 'Y' to continue or 'N' to exit the program.
  223.  
  224. If you try to create an anonymous volume on a fixed disk, mksfs will warn:
  225.  
  226.     Warning: You have not specified a name for the volume to be created.
  227.              This may make future manipulation of the volume difficult.  Are
  228.              you sure you want to create an anonymous volume [y/n]
  229.  
  230. At this point you can enter 'Y' to continue and 'N' to exit the program.
  231.  
  232. If it's really necessary, you can override these safety checks later on by
  233. using chsfs to change the volume's characteristics after it has been created.
  234. Unlike mksfs, chsfs is not particular about what the volume name is set to, as
  235. it makes the (possibly incorrect) assumption that you know what you are doing.
  236.  
  237. Once the preliminary processing has been done, mksfs will, in the case of a
  238. fixed disk, scan it for the volume which is to be encrypted.  Along the way it
  239. will perform various checks on the volume to make sure the it is accessible, is
  240. a standard DOS volume, is not marked as being bootable (booting off an
  241. encrypted volume is somewhat difficult), is not the one currently in use, and
  242. can be encrypted.  Note that the bootability check may not be completely
  243. foolproof, as some disk managers[4] perform strange tricks with bootable
  244. volumes to handle multiple operating systems on the same disk.
  245.  
  246. mksfs performs an additional check if the volume specified for encryption is
  247. the C: drive, which is usually the primary DOS drive and which you should under
  248. normal circumstances never encrypt.  If you do try to encrypt the C: drive,
  249. mksfs will prompt:
  250.  
  251.   Warning: You have chosen to encrypt the C: drive which is usually the
  252.            primary DOS drive and shouldn't be encrypted.  Are you sure you
  253.            want to do this [y/n]
  254.  
  255. At this point you can enter 'Y' to continue or 'N' to exit the program.
  256.  
  257. If the various checks succeed, mksfs will display an informational message
  258. giving details on the volume to be created.  An example of the information
  259. displayed for a fixed drive might be:
  260.  
  261.   Volume `Encrypted disk' will be created on fixed drive D:
  262.   This drive has a capacity of 75.2 MB and is labelled `Accounting'
  263.   Are you sure you want to encrypt this volume [y/n]
  264.  
  265. If the indicated volume really is the one you want to convert, enter 'Y' to
  266. proceed with the creation of the SFS volume, or 'N' to abort the operation.
  267.  
  268. It is vitally important that you check the information printed by mksfs before
  269. you give a `yes' response.  Due to the vast array of unusual disk systems,
  270. networked drives, compressed disks, device drivers, and other strangeness, it
  271. could be that mksfs and DOS disagree on which volume is to be encrypted.  In
  272. addition it is very easy to specify the wrong drive accidentally when running
  273. mksfs.  For this reason it is a good idea to stop for a second and make
  274. absolutely certain that the volume mksfs is about to encrypt is the one you
  275. actually want encrypted.  Treat mksfs the same way you would treat the DOS
  276. `format' command.
  277.  
  278. For a floppy drive the information is slightly different:
  279.  
  280.   Volume `Secure backup' will be created on the 1.44MB disk in drive B:
  281.  
  282. No yes/no prompt is given for removable disks since they contain far less
  283. information than fixed disk volumes, and will typically be freshly-formatted,
  284. blank diskettes.  This allows you to quickly encrypt quantities of diskettes
  285. without having to answer the same question for each disk.  If necessary you can
  286. abort the encryption operation at the password-entry stage.
  287.  
  288. mksfs will now check the volume to be encrypted for bad sectors.  Most newer
  289. fixed disks will automatically map out bad sectors (if there are any) and use
  290. sectors from spare space on the disk instead (all this is invisible to the
  291. system software and is done internally by the drive itself).  However older
  292. drives may still explicitly report bad sectors.  The presence of bad sectors on
  293. a disk may also indicate a virus infection, or may be used by certain kinds of
  294. (hopefully extinct) copy-protection schemes.  If mksfs finds any of these, it
  295. will print an advisory message:
  296.  
  297.   Warning: This disk contains bad sectors which won't be encrypted by SFS.
  298.  
  299. If the disk you are encrypting is a floppy disk, mksfs will print a message
  300. recommending that you use another disk instead.  If the data is valuable enough
  301. to need encryption, then you should really store it on another, error-free disk
  302. rather than risking losing it due to a defective floppy disk:
  303.  
  304.   Warning: This disk contains bad sectors.  Use of damaged disks is not
  305.            recommended as recovery of encrypted data could be difficult if
  306.            further bad sectors develop.  Are you sure you want to encrypt
  307.            this disk [y/n]
  308.  
  309. At this point you can enter 'Y' to continue or 'N' to exit the program.  SFS
  310. will encrypt the disk, but will skip any sectors marked as being defective.  A
  311. similar message will be printed if any bad sectors are found during the
  312. encryption process.  Note that if further bad sectors develop on the floppy
  313. disk, recovery of the data stored in the bad sectors will be difficult.  It is
  314. strongly recommended that you only use error-free floppy disks with SFS[5].
  315.  
  316. Once the disk checks have been completed, mksfs will ask you for a password to
  317. use when encrypting the volume.  The password can range in length from 10 to
  318. 100 characters, and should be made up of a complete phrase or sentence rather
  319. than just a single word (mksfs will complain if it thinks the password is of an
  320. insecure form and request that you use a different one).  You can find more
  321. details on choosing a password in the section "The Care and Feeding of
  322. Passwords" below.
  323.  
  324. When asking for the password, mksfs will prompt:
  325.  
  326.   Please enter password (10...100 characters), [ESC] to quit:
  327.  
  328. You should now enter the password, which for security reasons is not echoed to
  329. the screen.  You can correct any typing errors with the backspace key, and use
  330. the Esc key to quit.  The software will check for a password longer than the
  331. maximum of 100 characters or an attempt to backspace past the start of the
  332. password, and beep a warning when either of these conditions occur.
  333.  
  334. Once you have entered the password, mksfs will again prompt:
  335.  
  336.   Please reenter password to confirm, [ESC] to quit:
  337.  
  338. This confirmation is necessary to eliminate any problems with hitting an
  339. incorrect key when you enter the password the first time.  Note that every
  340. single letter, space, and punctuation mark in the password is critical.  Making
  341. a single mistake (getting a letter mixed up, typing a letter in upper case
  342. instead of lower case, or missing a punctuation mark) will completely change
  343. the encryption key.  For this reason, mksfs performs a double-check on the
  344. password to ensure it really is the correct one.
  345.  
  346. Once you have finished entering the password, there is a brief delay while
  347. mksfs performs the complex processing needed to turn it into a key suitable for
  348. the encryption system.  When this has been completed, mksfs will begin
  349. converting the disk.  As it processes the volume, it prints a progress bar
  350. going from 0% complete to 100% complete.  The conversion process will take a
  351. few minutes on most disks, and is somewhat slower than a standard disk
  352. formatting procedure which only writes a very small amount of data to the start
  353. of the disk and scans for bad sectors, whereas mksfs has to read, encrypt, and
  354. write the entire disk volume.
  355.  
  356. As the conversion progresses, the progress bar will gradually fill up until it
  357. shows that the conversion is complete.  Once this has finished, if the volume
  358. is created on a removable disk, mksfs will print:
  359.  
  360.   The encrypted volume has been created.  You can now mount it with the
  361.   `mountsfs' command.
  362.  
  363.   Do you wish to encrypt another disk [y/n]
  364.  
  365. At this point you can enter 'Y' to continue or 'N' to exit the program.  If you
  366. choose the `yes' response, mksfs will prompt:
  367.  
  368.   Please insert a new disk in the drive and press a key when ready
  369.  
  370. and then repeat the disk encryption cycle.
  371.  
  372. If the volume is created on a fixed disk, DOS will still think the volume it
  373. was created on is a DOS one rather than an encrypted SFS one.  It is strongly
  374. recommended that you reboot your machine at this point to clear any memories of
  375. the old volume from the system, as any attempt by DOS to access the encrypted
  376. volume as a normal DOS volume will cause it to become very confused.  As a
  377. reminder, mksfs will display the message:
  378.  
  379.   The encrypted volume has been created.  You can now mount it with the
  380.   `mountsfs' command, or mount it at system startup with the option
  381.   `MOUNT=<mount id>' in the CONFIG.SYS entry for the SFS driver.
  382.  
  383.   You may wish to reboot your machine to update the status of the SFS volume,
  384.   which is now inaccessible from DOS.
  385.  
  386. The `<mount id>' will be the ID needed to mount the encrypted volume when the
  387. machine is booted.  You can find more details on mounting encrypted volumes
  388. using the mount ID in the section "Advanced SFS Driver Options" below.
  389.  
  390. Footnote [1]: One program which does this is FIPS, currently at version 1.2 and
  391.               available as fips12.zip from either sunsite.unc.edu in the
  392.               directory /pub/Linux/system/Install, tsx-11.mit.edu in the
  393.               directory /pub/linux/dos_utils, garbo.uwasa.fi and all mirror
  394.               sites in the directory /pc/diskutil, or oak.oakland.edu and all
  395.               mirror sites in the directory simtel/msdos/diskutil.
  396.  
  397. Footnote [2]: Another partition-reorganizing program is Partition Resizer,
  398.               currently at version 1.10 and available as presz110.zip from
  399.               oak.oakland.edu and all mirror sites in the directory
  400.               simtel/msdos/diskutil.  Partition Resizer will resize partitions,
  401.               change them from 12 to 16-bit FAT and vice versa, move partitions
  402.               around on the drive, grow a partition to fill unusued disk space,
  403.               split partitions, and combine partitions.  It also includes a
  404.               built-in recovery mechanism which allows it to recover from
  405.               system crashes or a power loss while it is running.  Partition
  406.               Resizer can take awhile to resize partitions, especially on
  407.               larger drives.
  408.  
  409. Footnote [3]: Certain boot sector viruses also change the information needed by
  410.               mksfs, so mksfs printing this message may be an indication of a
  411.               viral infection.  See `Using SFS for Virus Protection' in the
  412.               "Applications" section below.
  413.  
  414. Footnote [4]: Among them the OS/2 and Windows NT boot managers.
  415.  
  416. Footnote [5]: Although SFS has been written so that if any data does become
  417.               corrupted, only the corrupted sector and no others will be lost,
  418.               if data which is important to the operating system (such as a
  419.               directory or a file allocation table) is lost, the damage may
  420.               (just as it would for a normal non-encrypted disk) be more
  421.               significant.  In this case any standard disk-recovery program can
  422.               be used to make repairs, just as with a normal DOS disk.
  423.  
  424.  
  425. Mounting an SFS Volume
  426. ----------------------
  427.  
  428. When the operating system first starts, it finds all disk volumes it can
  429. recognise and automatically makes them available as different logical drive
  430. letters.  However it can't do anything with encrypted SFS volumes, and so they
  431. are effectively invisible to it.  In order to make them visible, you need to
  432. mount them using the mountsfs program.  Operating systems such as Unix mount
  433. filesystems in this manner (in fact the general feel of mountsfs is vaguely
  434. like the Unix filesystem mount utility).
  435.  
  436. When the operating system mounts a disk volume, it uses the rather primitive
  437. mechanism of assigning a letter of the alphabet to it and referring to the
  438. drive by that letter.  SFS, on the other hand, refers to the volume by the name
  439. given when the volume is created with mksfs rather than some arbitrary letter
  440. (although volumes in removable drives can optionally be referred to by the
  441. driver letter).  Therefore if the encrypted volume was named "Secure disk
  442. volume", mountsfs would mount "Secure disk volume" rather than, say, "E:".  A
  443. fixed disk can contain multiple encrypted volumes, mountsfs will choose the
  444. appropriate one based on the volume name.  When searching for volumes to mount,
  445. all fixed disks are checked before any removable disks are checked, so that a
  446. volume with a given name on a fixed disk would take precedence over a volume of
  447. the same name on a floppy disk.
  448.  
  449. Once the volume is mounted, DOS will still refer to it by a drive letter as
  450. usual (there's only so much the SFS software can do), so that "Secure disk
  451. volume" will, after being mounted with SFS, appear as just another DOS drive,
  452. for example E:.  If necessary you can swap the drive letter which SFS uses with
  453. the JSWAP utility which comes as part of the JAM disk compression software.
  454. The use of JSWAP for manipulating drive letters rather than the DOS commands
  455. ASSIGN, SUBST, and JOIN, or other third-party utilities such as the one
  456. provided with Stacker are recommended, as JSWAP provides the safest means of
  457. swapping drive letters.  The JAM software also contains the JDRIVE utility,
  458. which allows you to assign specific drive letters to SFS mount points, so that,
  459. for example, you could force the SFS drive to be E: rather than the drive
  460. letter DOS would normally assign to it.  The JAM disk compression software is
  461. discussed in more detail in the section "Creating Compressed SFS Volumes"
  462. below.
  463.  
  464. You may prefer to refer to volumes on removable disks by the drive they are in
  465. rather than via the volume name, in which case you should specify the drive
  466. using the usual letters A: or B:, and the volume name will be ignored.  As
  467. before, once the disk is mounted with SFS, the volume will appear as another
  468. DOS drive, for example E:.  If the disk is accessed as E:, the SFS driver will
  469. encrypt and decrypt data being written to it and read from it.  If the disk is
  470. accessed as A: or B:, DOS will either display garbage or report a general
  471. failure error as it doesn't understand the contents of the encrypted disk.  You
  472. can still use the A: or B: drive letters to read normal DOS disks, but in order
  473. to prevent accidental overwriting of data on different disks, the SFS driver
  474. will automatically unmount a volume if it detects that a disk change has
  475. occurred since the last time it accessed the drive.
  476.  
  477. The mountsfs program is run in the following manner:
  478.  
  479.   mountsfs [+r] [+rw] [status] [unmount] [info] [information]
  480.            [hotkey=<Ctrl>-<Alt>-<LeftShift>-<RightShift>-<letter> or none]
  481.            [timeout=<timeout>] [cardcontrol=<action>] [user=<username>]
  482.            [userfile=<user file>] [mountdrive=<drive unit>]
  483.            [volume=<volume name>] [<drive letter>]
  484.  
  485. Since all arguments are named, you can give them in any order.  The order shown
  486. here is merely an example.  In addition, you can abbreviate all commands, so
  487. that for example you can give the `volume=' command as `volume=', `vol=', or
  488. even just `v='.  The full commands are given in the documentation for
  489. completeness.  Some of the options shown above are not covereed here but will
  490. be explained in the next section, "Unmounting an SFS Volume".
  491.  
  492. When mountsfs starts, it first performs a number of checks on the internal
  493. status of the SFS driver.  If it requires the driver to be present for the
  494. operation to be performed but can't find it, it will exit with the error
  495. message:
  496.  
  497.     Error: Cannot find SFS driver
  498.  
  499. This problem is due to the driver not being loaded, either because you have't
  500. specified it in the CONFIG.SYS file, or because there was some error when it
  501. was loaded and it de-installed itself.  More information on this is given in
  502. the section "Loading the SFS Driver" above.
  503.  
  504. If the driver reports a general internal consistency check failure or a
  505. consistency check failure for a particular drive unit (in this case drive F:),
  506. mountsfs will exit with the error message:
  507.  
  508.     Error: SFS driver internal consistency check failed
  509.  
  510. or:
  511.  
  512.     Error: SFS driver consistency check failed for unit F:
  513.  
  514. A driver check failure is generally due to some other program or system
  515. software corrupting the driver's internal state.  You can find possible
  516. solutions to this problem in the section "Troubleshooting" below.
  517.  
  518. In general you can specify the SFS volume to use by giving the volume's name
  519. with the `volume=' option.  For example if the name was "Secure disk volume"
  520. then the command would be:
  521.  
  522.   mountsfs volume=secure
  523.  
  524. You can give the name in upper or lower case and don't have to specify the full
  525. name, as mountsfs will match whatever part of the name you supply to the names
  526. of any SFS volumes it finds until it finds a match.  The SFS volumes are
  527. checked in the same order as they are displayed with the `mountsfs info' or
  528. `mountsfs information' command.
  529.  
  530. Alternatively, if the SFS volume to be accessed is on a removable disk, you can
  531. specify it using its drive letter instead of its volume name.  For example if
  532. the disk drive the volume was in was A: then the command would be:
  533.  
  534.   mountsfs a:
  535.  
  536. mountsfs will not mount volumes using the mount identifier, as this is reserved
  537. for use with volumes mounted when the SFS driver is loaded.  More information
  538. on this is given in the section "Advanced SFS Driver Options" below.
  539.  
  540. You can use the `info' option to find all available SFS volumes.  This will by
  541. default search the system for available volumes and print a list of the volume
  542. names, creation dates, sizes, and whether the volumes are currently mounted or
  543. not.  For example on a system with two SFS volumes the output from `mountsfs
  544. info' might be:
  545.  
  546.     Date     Size   Type Mount status  Volume Name
  547.   -------- -------- ---- ------------- ----------------------------------------
  548.   01/11/93  Floppy  DOS    Unmounted   Data backup
  549.   06/09/93  10.0 MB DOS  Mounted as E: Personal financial records
  550.   12/04/93  42.5 MB DOS    Unmounted   Encrypted data disk
  551.  
  552. This shows three SFS volumes, an unmounted volume in a floppy drive containing
  553. backup data, a smaller one on a fixed disk containing personal financial
  554. records which is currently mounted as drive E:, and a larger one containing
  555. general encrypted data which is currently unmounted.  Note that removable media
  556. is treated in a special manner and the exact disk size is indeterminate as the
  557. media may change at any time.  The volume creation date is formatted according
  558. to the country setting on the machine being used, so that the datestamp is
  559. day/month/year in Europe and related countries, month/day/year in the US and
  560. related countries, and year/month/day in Japan.  Both volumes shown here are
  561. DOS volumes, but future versions of SFS may support other volume types such as
  562. OS/2 HPFS, Windows NTFS, and Linux Unix ones.
  563.  
  564. If you need more information than the `info' command provides, you can use the
  565. longer "information" form of the command, which will display extra details such
  566. as the volume serial number, the mount identifier (see the section "Advanced
  567. SFS Driver Options" below for more information), the volume filesystem type,
  568. whether multiuser volume access is possible, what type of disk access mode is
  569. used for the volume, the volume name character set, the default auto-unmount
  570. timeout value (which can be overridden when the volume is mounted if required),
  571. and whether access to the volume is controlled via a smart card and what
  572. actions are associated with the smart card, as well as the other information
  573. displayed by the usual `mountsfs info' command.  If, in the previous example,
  574. you had used `mountsfs information' instead of `mountsfs info' the output might
  575. have been:
  576.  
  577.   Volume name  : Data backup
  578.   Volume date  : 01/11/93, 10:13:01 Volume serial number: 3276713527
  579.   Volume size  : Removable media    Volume filesys type : DOS
  580.   Mount status : Unmounted          No mount at system startup possible
  581.   Multiuser access : Disabled       Disk access mode    : Default
  582.   Vol.name char.set: ISO 646/ASCII  Current access mode : Default
  583.   Unmount timeout  : None set       Smart card access   : Yes, basic mem.card
  584.   Card removal action : Make volume readonly
  585.  
  586.   Volume name  : Personal financial records
  587.   Volume date  : 06/09/93, 11:22:19 Volume serial number: 177545
  588.   Volume size  : 10.0 MB            Volume filesys type : DOS
  589.   Mount status : Mounted as E:      Mount ID            : 03A12F7B
  590.   Multiuser access : Disabled       Disk access mode    : Default
  591.   Vol.name char.set: ISO 646/ASCII  Current access mode : Default
  592.   Unmount timeout  : 30 minutes     Smart card access   : No
  593.   Card removal action : -
  594.  
  595.   Volume name  : Encrypted data disk
  596.   Volume date  : 12/04/93, 22:17:00 Volume serial number: 69231461
  597.   Volume size  : 42.5 MB            Volume filesys type : DOS
  598.   Mount status : Unmounted          Mount ID            : 42DD2536
  599.   Multiuser access : Enabled        Disk access mode    : IDE direct
  600.   Vol.name char.set: ISO 646/ASCII  Current access mode : IDE direct
  601.   Unmount timeout  : 10 minutes     Smart card access   : No
  602.   Card removal action : -
  603.  
  604. By default these two commands will display information on all available
  605. volumes.  If you require information on an individual volume then you can give
  606. the volume's name or drive letter in addition to the `info' or `information'
  607. option.  To change the previous use of the `info' command to apply only to the
  608. volume named "Data backup", the command might be:
  609.  
  610.   mountsfs info volume=backup
  611.  
  612. and the output would be as follows:
  613.  
  614.     Date     Size   Type Mount status  Volume Name
  615.   -------- -------- ---- ------------- ----------------------------------------
  616.   01/11/93  Floppy  DOS    Unmounted   Data backup
  617.  
  618. You can use the `status' option to check whether any volumes are currently
  619. mounted.  As with the `info' and `informaton' options, by default information
  620. on all mounted SFS volumes is displayed.  If you require information on an
  621. individual volume then you can give the volume's name or drive letter in
  622. addition to the `status' option.  Thus the command:
  623.  
  624.   mountsfs status
  625.  
  626. will return the status of the volumes on all mount points, as well as an
  627. indication of the current setting of the quick-unmount hotkey and the
  628. auto-unmount timeout settings for any mounted volumes (the latter are explained
  629. in more detail below), whereas the command:
  630.  
  631.   mountsfs status f:
  632.  
  633. will return the above status information only on the volume currently mounted
  634. as F:.  An example of the output of the `status' command when run on the setup
  635. shown in the `info' command examples with a total of two mount points available
  636. might be:
  637.  
  638.   SFS volume `Personal financial records' is mounted as drive E:,
  639.           and will time out in 18 minutes.
  640.   Drive F: has no volume mounted
  641.  
  642.   The quick-unmount hotkey is set to `LeftShift-RightShift'.
  643.  
  644. If you had mounted the `Data backup' volume instead of the `Personal financial
  645. records' one, the output would be:
  646.  
  647.   SFS volume `Data backup' is mounted as drive E:,
  648.          This volume will become readonly if the smart card is removed.
  649.   Drive F: has no volume mounted
  650.  
  651.   The quick-unmount hotkey is set to `LeftShift-RightShift'.
  652.  
  653. You can use the `+r' and `+rw' options to specify read and write access to the
  654. encrypted volume.  `+r' allows read-only access and `+rw' allows read and write
  655. access.  The default is to allow read/write access.  Note that although
  656. mounting an SFS volume read-only will stop all standard software from writing
  657. to it, it may not stop some malicious programs such as viruses which have been
  658. specially written to attack the SFS driver itself, or which are created
  659. specifically to destroy disk data by bypassing the operating system and
  660. accessing the disk hardware or firmware directly[1].  The read-only option is
  661. provided mainly to stop any accidental overwriting of valuable data on
  662. encrypted volumes.
  663.  
  664. You can also specify the use of read-only access when an SFS volume is mounted
  665. at the time the SFS driver is loaded.  More details on this and on mounting
  666. volumes at system startup are given in the section "Advanced SFS Driver
  667. Options" below.
  668.  
  669. You can change the read/write status of one or more volumes once you have
  670. mounted them by running mountsfs with the '+r' or '+rw' option.  This will
  671. change the read/write status of the specified volume or all volumes as
  672. appropriate.  For example to allow read/write access to the volume mounted as
  673. F: the command would be:
  674.  
  675.   mountsfs +rw f:
  676.  
  677. If the volume allows multiuser access, only the volume administrator can
  678. directly mount it in the manner described above.  Normal volume users must
  679. specify their user name with the `user=<username>' command in addition to the
  680. usual mount parameters in order to mount the volume[2].  The user name is the
  681. name under which access is granted by the system administrator.  Like the
  682. volume name, you can specify any portion of the user name and mountsfs will
  683. match whatever part of the name is given to any user names until it finds a
  684. match.  You can also specify the name of the file to search for user access
  685. information using the `userfile=<user file>' command.
  686.  
  687. For example if the volume in the previous example allowed multiuser access and
  688. one of the users who had been granted access to the volume was "Henry Akely",
  689. he could mount it with the command:
  690.  
  691.   mountsfs volume=secure user=henry
  692.  
  693. If you try to mount a volume with no multiuser access capabilities in this
  694. manner, mountsfs will exit with the error message:
  695.  
  696.   Error: This volume has multi-user access disabled
  697.  
  698. If mountsfs cannot find any access information for the given user in the user
  699. access file or files, it will exit with an error message:
  700.  
  701.   Error: Cannot find access information for user `henry'
  702.  
  703. An individual user's access rights to the volume, as set by the volume
  704. administrator, may override certain options specified in mountsfs.  You can
  705. find more details on this, and on the operation of shared SFS volumes as a
  706. whole, in the section "Sharing SFS Volumes Between Multiple Users" below.
  707.  
  708. When you use mountsfs to mount a volume, it will first check to see whether
  709. there is room to mount it.  If all available mount points are already occupied,
  710. it will print:
  711.  
  712.   Error: All available drives are allocated - unmount an existing volume first
  713.  
  714. and exit.  In this case you should either unmount an existing volume to free up
  715. a mount point and allow the new volume to be mounted, or increase the number of
  716. mount points with the `UNITS=n' command when the SFS driver is loaded.  You can
  717. find more information on how to do this in the section "Loading the SFS Driver"
  718. above.
  719.  
  720. By default, mountsfs will choose the first available mount point to mount the
  721. new volume.  However, you can tell it which mount point to use with the
  722. `mountdrive=' option, which lets you specify the drive letter you want the
  723. volume mounted as.  You can only specify drive letters which are controlled by
  724. the SFS driver, so that if the driver displayed the message:
  725.  
  726.   Encrypted volumes will be mounted as drives F: - H:
  727.  
  728. on startup then you could specify that a volume be mounted as either F:, G:, or
  729. H:.  For example to mount the volume "Secure disk volume" from the previous
  730. example as drive G: the command would be:
  731.  
  732.   mountsfs mountdrive=g: volume=secure
  733.  
  734. If this drive letter already has a volume mounted, mountsfs will display:
  735.  
  736.   Drive G: already has a volume mounted.  You should either specify a different
  737.   drive, or let mountsfs choose a drive for you.
  738.  
  739. You can either use a different drive, or let mountsfs choose the drive for you,
  740. or even unmount the volume currently mounted as G: to make room for the new
  741. volume.
  742.  
  743. When mountsfs mounts a volume, it will search all available disks for the named
  744. volume (if the volume is accessed by name), or check the removable disk for the
  745. volume (if the volume is accessed by disk drive letter).  If the volume is
  746. already mounted, mountsfs will print:
  747.  
  748.   Error: Encrypted volume is already mounted
  749.  
  750. and exit.  Otherwise, it will print a summary of the volume giving the
  751. read/write status, the drive type and drive letter, and the volume name and
  752. date if one exists, for example:
  753.  
  754.   Volume will be mounted as fixed drive E:.
  755.   Encrypted volume is `Personal correspondence', created 12/08/93
  756.  
  757. If the volume is controlled by a smart card, it will also print:
  758.  
  759.   Access to this volume is controlled by a smart card key.
  760.  
  761. and ask for the appropriate card to be inserted if it is not already present in
  762. the reader.
  763.  
  764. Then it will prompt you for the encryption password, either:
  765.  
  766.   Please enter password (10...100 characters), [ESC] to quit:
  767.  
  768. or:
  769.  
  770.   Please enter smart card password (10...100 characters), [ESC] to quit:
  771.  
  772. depending on whether access to the volume is controlled by a smart card or not.
  773.  
  774. You can now enter the password, which for security reasons is not echoed to the
  775. screen.  You can correct any typing errors with the backspace key, and use the
  776. Esc key to quit.  The software will check for a password longer than the
  777. maximum of 100 characters or an attempt to backspace past the start of the
  778. password, and beep a warning when either of these conditions occur.
  779.  
  780. Once you have entered the password, mountsfs will process it and reprogram the
  781. SFS device driver to reflect the change in status.  If you are using a smart
  782. card and the card is configured so that removing it from the reader will
  783. unmount the volume then the reader LED will be set to red to indicate that the
  784. card is currently being used by the driver.
  785.  
  786. If the disk you are mounting is a removable one, mountsfs will check that the
  787. drive being used supports disk change checking.  This is necessary to ensure
  788. that the wrong disk isn't accidentally accessed by the driver.  If the disk is
  789. changed without first being unmounted, the SFS driver will automatically
  790. unmount it the next time you try to access it[3].  However if the drive doesn't
  791. support the disk change check (generally only rather old drives have this
  792. problem), this automatic unmount won't be possible, and mountsfs will warn:
  793.  
  794.   Warning: The floppy drive this volume is mounted on does not support disk
  795.            change checking.  You should make sure you unmount the existing
  796.            volume using either the mountsfs or WinSFS programs or the
  797.            quick-unmount hotkey when you change disks.
  798.  
  799. If you get this warning then it is essential that you unmount the volume before
  800. you change the disk in the drive.  The easiest way to unmount a volume is
  801. through the quick-unmount hotkey, which is explained in more detail below.
  802.  
  803. Finally, if all is OK, mountsfs will print a short summary message about the
  804. action it has performed.  For example if you told it to mount a volume, the
  805. summary would be:
  806.  
  807.   Encrypted volume successfully mounted.
  808.  
  809. Footnote [1]: Viruses capable of doing this are generally called tunneling
  810.               viruses.  Most of them only tunnel down to the the DOS int 21h
  811.               level (which won't affect SFS), but several tunnel down to the
  812.               BIOS int 13h level.  The DIR II virus tunnels down to the block
  813.               device driver request level (which again won't affect SFS).  In
  814.               addition there is a report of a virus which will access an IDE
  815.               hard drive directly through the drive controller ports (which,
  816.               has the side-effect of crashing Windows when using 32-bit disk
  817.               access).  No viruses capable of accessing SCSI drives through the
  818.               ASPI or CAM drivers are known.  In any case an SFS volume creates
  819.               a rather bad target for DOS viruses since the DOS drive it
  820.               corresponds to is only an illusion created by the SFS driver, and
  821.               the underlying data on disk is invisible to DOS and most viruses.
  822.  
  823. Footnote [2]: Some versions of SFS will automatically know the user's name when
  824.               a volume is mounted.  Unfortunately the DOS version isn't one of
  825.               these.
  826.  
  827. Footnote [3]: The driver checks for a disk change when a disk read or write
  828.               attempt is made rather than whenever DOS performs a general disk
  829.               check, as DOS may perform up to half a dozen consecutive disk
  830.               checks before doing anything, which leads to a significant loss
  831.               in performance.
  832.  
  833.  
  834. Unmounting an SFS Volume
  835. ------------------------
  836.  
  837. Once a volume has been mounted, you may wish to unmount it again, perhaps to
  838. remove access to it after you have completed the work which requires it, or to
  839. free up a mount point to allow you to mount a new volume.  In addition, if a
  840. particular SFS volume is contained on a removable disk, it is a good idea to
  841. unmount the volume if the disk in the drive is changed, although mounting a new
  842. volume will automatically unmount the old volume.  You can perform the unmount
  843. operation with the `mountsfs unmount' command, with the "Unmount" option of the
  844. SFS Control Panel item, by using a quick-unmount hotkey which the SFS driver
  845. checks for (see below), by setting an inactivity timeout value after which the
  846. volume is automatically unmounted, or by removing the smart card from the
  847. reader if you are using a smart card and the card is configured to unmount
  848. volumes when it is removed.
  849.  
  850. Like the `mountsfs status' and `mountsfs information' commands, the `mountsfs
  851. unmount' command can either apply to individual mounted volumes which are
  852. specified by their drive letter, or to all volumes if no drive letter is given.
  853. Unmounting a volume also signals the SFS driver software to write all data
  854. still held in system buffers to disk and to erase any information it still
  855. holds in memory.  It is therefore good practice to always unmount volumes as
  856. soon as you no longer need them in order to destroy any sensitive information
  857. which may still be held by the SFS driver or in a system buffer.  For example
  858. to unmount all currently mounted volumes the command would be:
  859.  
  860.   mountsfs unmount
  861.  
  862. To unmount the volume currently mounted as F: the command would be:
  863.  
  864.   mountsfs unmount f:
  865.  
  866. A faster way to unmount all volumes is to use the quick-unmount hotkey which
  867. the SFS driver checks for and accepts in place of the standard unmount command.
  868. You can use this both as a convenience to quickly and easily unmount all SFS
  869. volumes, or as a safety feature to allow encrypted volumes to be instantly
  870. unmounted if there is a danger of the data on them being compromised.
  871.  
  872. When you mount a volume with mountsfs and don't explicitly specify the
  873. `hotkey=none' option, or when you mount one or more volumes when the SFS driver
  874. is loaded and don't explicitly specify the `HOTKEY=NONE' option, the driver or
  875. mountsfs will install a default quick-unmount hotkey which is a combination of
  876. the left and right shift keys under DOS and either of the two shift keys and
  877. the control key under Windows[1].  On most keyboards these keys are fairly
  878. large and easy to reach during normal typing. When both shift keys (DOS) or
  879. either shift key and the control key (Windows) are pressed and released, all
  880. mounted SFS volumes will be unmounted as if you had issued a normal unmount
  881. command via mountsfs, and a single beep will sound to indicate that the unmount
  882. was successful.
  883.  
  884. Occasionally this default hotkey combination may clash with other software, or
  885. you may want to use another hotkey combination.  You can do this with the
  886. `hotkey=' option, which can be used to specify any combination of the left
  887. shift key, right shift key, control key, alt key, and a letter key[2].  The
  888. keys are specified in the following manner:
  889.  
  890.     Alt key        = `alt'          Control key     = `ctrl'
  891.     Left shift key = `leftShift'    Right shift key = `rightShift'
  892.     Letter key     = `a'...`z'
  893.  
  894. You should separate key combinations with hyphens, `-'.  The key names are not
  895. case sensitive and can be given in upper or lower case, or a mixture of both.
  896. If you use an unknown key name or don't seperate the key names with hyphens,
  897. mountsfs will complain:
  898.  
  899.   Error: Bad quick-unmount hotkey format
  900.  
  901. For example, to specify the use of the left shift and right shift keys as the
  902. quick-unmount hotkey (the usual default setting) when a volume matching the
  903. name `secure' is mounted, the command would be:
  904.  
  905.   mountsfs hotkey=LeftShift-RightShift volume=secure
  906.  
  907. To use the Control, Alt, and Z keys as the quick-unmount hotkey the command
  908. would be:
  909.  
  910.   mountsfs hotkey=ctrl-alt-Z volume=secure
  911.  
  912. You can also alter the hotkey value without mounting any volumes, which will
  913. merely update the current hotkey without making any other changes.  For example
  914. to set the right Shift, Control, and I keys as the quick-unmount hotkey (a
  915. rather unwieldy combination), the command would be:
  916.  
  917.   mountsfs hotkey=rightshift-CTRL-I
  918.  
  919. You can disable the hotkey unmount by specifying `hotkey=none' when mountsfs is
  920. run, either as part of a normal mount operation or by simply running mountsfs
  921. with only the hotkey option, which will clear the unmount hotkey without making
  922. any other changes.
  923.  
  924. Finally, you can also specify the quick-unmount hotkey value when the SFS
  925. driver is loaded.  More details on this are given in the section "Advanced SFS
  926. Driver Options" below.
  927.  
  928. If you perform a hotkey unmount while the driver is accessing a volume, the
  929. disk access will complete before the volume is unmounted.
  930.  
  931. The SFS driver can automatically unmount volumes if you not accessed them for a
  932. certain amount of time.  This feature is useful if there is a chance that an
  933. interruption may call you away from a system with mounted SFS volumes which
  934. would allow others access to the encrypted data, or you can simply use it as a
  935. general safety precaution to automatically unmount the volumes after a sizeable
  936. period of inactivity.  However, you should take care to allow a large enough
  937. safety margin for the timeout, as having a volume take itself offline five
  938. seconds before you want to save your work to it can be annoying.
  939.  
  940. The easiest way to set an auto-unmount timeout is to associate a timeout value
  941. with the volume when it is created with mksfs, although you can add this
  942. setting or modify an existing setting at a later point with the chsfs program
  943. (this is explained in more detail in the section "Changing the Characteristics
  944. of an SFS Volume" below).  When the volume is mounted, the setting of the
  945. timeout is automatically taken care of by the SFS software.  If the volume has
  946. no timeout associated with it then by default mountsfs will not set an
  947. auto-unmount timer.
  948.  
  949. You can display the current timeout setting for a volume or volumes using the
  950. `mountsfs information' command.
  951.  
  952. However you may want to override the preset timeout value using the `timeout='
  953. option, which is used to specify the delay in minutes until the unmount takes
  954. place.  For example, using the previous mount command but to have the volume
  955. automatically unmounted after 15 minutes of inactivity the command would be:
  956.  
  957.   mountsfs timeout=15 volume=secure
  958.  
  959. The timeout period must be between 1 and 30,000 minutes (this means that the
  960. upper timeout limit is around three weeks).  If you specify a timeout value of
  961. less than 1 minute or greater than three weeks, mountsfs will exit with the
  962. error message:
  963.  
  964.   Error: Timeout value must be between 1 and 30,000 minutes
  965.  
  966. If no accesses are made to a volume within the given time period, it will be
  967. automatically unmounted.  Like the case when a hotkey unmount is made, a single
  968. beep will sound to indicate that the unmount has taken place.  Each volume has
  969. its own timer, allowing you to give different volumes different lengths of time
  970. before they unmount, or to have no auto-unmount time at all.  This is useful
  971. when, for example, one volume containing highly sensitive information needs to
  972. have a very short timeout, while another volume containing less secret
  973. information can have a much longer timeout.  An example might be a series of
  974. three SFS volumes:
  975.  
  976.   mountsfs timeout=10 volume=Topsecret
  977.   mountsfs timeout=30 volume=Secret
  978.   mountsfs timeout=60 volume=Confidential
  979.  
  980. in which the "Topsecret" volume is given the shortest timeout of only 10
  981. minutes, the "Secret" volume is given a timeout of 30 minutes, and the
  982. "Confidential" volume is given the longest timeout of a full hour.
  983.  
  984. You can disable the timed unmount by specifying `timeout=none' when you run
  985. mountsfs, either as part of a normal mount operation which will affect only the
  986. current volume, or by running mountsfs with only the timeout option, which will
  987. clear the timeout for all volumes without making any other changes.
  988.  
  989. If a timed unmount occurs while the driver is accessing a volume, the disk
  990. access will complete before the volume is unmounted.
  991.  
  992. Another way to control the mount status of volumes is possible if you are using
  993. a smart card to access to them.  Depending on how the card was set up with the
  994. sfscard or chsfs programs, removing it will either unmount all volumes, unmount
  995. the volumes controlled by the card, set the volumes controlled by the card to
  996. read-only, or have no effect.  If the volume has no card removal action
  997. associated with it then by default nothing will happen when the card is
  998. removed, unless at least one other mounted volume has an "unmount all volumes"
  999. action, which takes precedence over all other actions.
  1000.  
  1001. You can find the exact settings for a volume with the `mountsfs information'
  1002. command, which is explained in the section "Mounting an SFS Volume" above.
  1003.  
  1004. If required you can override the default settings for a volume when you mount
  1005. it by using the `cardcontrol=' option to specify the action to take when the
  1006. card is removed.  The possible card control actions are `none', which does
  1007. nothing, `readonly', which makes the volume readonly, and `unmount' and
  1008. `unmountall', which unmount the given volume or all volumes.  For example, to
  1009. mount the "Topsecret" volume with the condition that it be unmounted when the
  1010. card is removed from the reader, the command would be:
  1011.  
  1012.   cardsfs cardcontrol=unmount volume=topsecret
  1013.  
  1014. The volume will now be unmounted if the smart card used to mount it is removed
  1015. from the card reader.
  1016.  
  1017. If the SFS driver is using the card currently inserted in the reader, the
  1018. reader LED will be set to red.  Removing the card in this case will result in
  1019. the reader LED being set to green and the unmount action which is set for the
  1020. card taking place.
  1021.  
  1022. Finally, if all is OK, mountsfs will print a short summary message about the
  1023. action it has performed.  If for example there were two volumes F: and G: of
  1024. which only F: was currently mounted and you told it to unmount all volumes, the
  1025. summary would be:
  1026.  
  1027.   Volume in drive F: has been unmounted
  1028.   Drive G: is already unmounted
  1029.  
  1030. Footnote [1]: Windows treats the left and right shift keys as the same key, so
  1031.               there is no way to recognise the left shift and right shift key
  1032.               combination.  The shift and control key combination is therefore
  1033.               used in its place.
  1034.  
  1035. Footnote [2]: The letter key is based on the US keyboard since the SFS driver
  1036.               must check for keyboard scan codes rather than actual character
  1037.               codes, which can differ slightly for some keyboards.
  1038.